package com.happok.onlineclass.usermanagement.setting.service;

import com.happok.onlineclass.usermanagement.setting.dto.FunctionClassifyEnum;
import com.happok.onlineclass.usermanagement.setting.dto.FunctionVerifyDTO;
import com.happok.onlineclass.usermanagement.setting.dto.UpdateVerifyDTO;
import com.happok.onlineclass.usermanagement.setting.dto.UserRegisterStatusDTO;

import java.util.List;

/**
 * 功能说明
 *
 * @author : chenac
 * @version : v1.0
 * @date : 2021/10/12 11:25
 * @updateUser : chenac
 * @updateTime : 2021/10/12 11:25
 * @updateRemark : 无
 * @since : Springboot 2.5.2
 */
public interface FunctionSettingService {
    /**
     * 开启或关闭用户注册
     *
     * @param userRegisterStatusDTO
     * @author: chenac
     * @date:  12:03
     * @execption:
     * @return: void
     */
    void openOrCloseUserRegister(UserRegisterStatusDTO userRegisterStatusDTO);

    /**
     * 修改各功能验证
     *
     * @param updateVerify
     * @author: chenac
     * @date:  14:02
     * @execption:
     * @return: void
     */
    void updateFunctionSetting(FunctionClassifyEnum functionClassify, UpdateVerifyDTO updateVerify);

    /**
     * 查询功能验证
     *
     * @param
     * @author: chenac
     * @date:  14:14
     * @execption:
     * @return: com.happok.onlineclass.usermanagement.setting.dto.UpdateVerifyDTO
     */
    FunctionVerifyDTO getFunctionSetting(FunctionClassifyEnum functionClassify);

    /**
     * 查询所有功能验证
     * 接口描述
     * @param
     * @author: chenac
     * @date:  15:19
     * @execption:
     * @return: java.util.List<com.happok.onlineclass.usermanagement.setting.dto.FunctionVerifyDTO>
     */
    List<FunctionVerifyDTO> listFunctionSetting();
}